Skip to content

[bot] Merge master/8c525d1a into rel/dev - #1953

Merged
yenkins-admin merged 5 commits into
rel/devfrom
snapshot-master-8c525d1a-to-rel/dev
Nov 13, 2026
Merged

yenkins-admin merged 5 commits into
rel/devfrom
snapshot-master-8c525d1a-to-rel/dev

Conversation

@yenkins-admin

Copy link
Copy Markdown
Contributor

🚀 Automated PR to perform merge from master into rel/dev with changes up to 8c525d1 (created by https://github.com/gooddata/gooddata-python-sdk/actions/runs/43400935027).

hkad98 and others added 5 commits November 13, 2026 09:25
Python 3.15 installs only from wheels in the slim CI images, which have
no C compiler or Rust toolchain, so every compiled dependency needs a
release that ships cp315 wheels:

- pyarrow 26 is its first release with cp315 wheels. It requires
  Python 3.11+, so the lock keeps 25.0.1 for Python 3.10.
- pydantic-core 2.46.5 and jiter 0.16.0 are Rust extensions without
  cp315 wheels; pydantic moves with pydantic-core, which it pins
  exactly.
- markupsafe 3.0.4 ships its speedups compiled for 3.15.
- cachebox (sdk test group, via deepdiff) has cp315 wheels only from
  6.x, but deepdiff 9.1.0 still caps it below 6. A uv override forces
  6.x; drop it once deepdiff allows cachebox 6.

jira: trivial
risk: low
gooddata-pandas capped pandas below 3, which kept users who also use
pandas directly on pandas 2, and pandas 2 publishes no CPython 3.15
wheels (2.3.3 built from source segfaults inside pd.to_datetime on
3.15). The pin now allows pandas >=2.0.0,<4.0.0, and Python 3.15
requires pandas 3.

Existing environments keep their pandas 2; new ones resolve pandas 3,
whose behavior changes reach users through the objects gooddata-pandas
returns: string columns and index levels use the default "str" dtype,
missing values in string columns stay missing, and copy-on-write is
always on. The release notes must call this out.

pandas 3 infers datetime resolution (dates become datetime64[s]) where
pandas 2 always returned datetime64[ns]. Date and datetime attribute
conversion in the JSON and Arrow paths goes through to_datetime_ns(),
which yields datetime64[ns] on both majors; on pandas 2 the as_unit
call is a no-op.

On pandas 3, an index built from Arrow field metadata (transposed
results, or no row labels) gets the default "str" dtype instead of
object; it is never Arrow-mapped. The ARROW_STRINGS test now checks
index dtypes only when the index comes from the inline row-label
columns, so a row-label level that loses its Arrow-backed dtype still
fails it.

The lock resolves pandas 3 on Python 3.11+, so CI tests pandas 3
there; pandas 2 is covered only by the Python 3.10 environment.

jira: trivial
risk: low
Adds the 3.15 classifier to every published package and py315 to the
tox envlists, the CI matrix and ci_tests.mk. Python 3.10 stays
supported.

The py315 CI image is python:3.15.2-slim-trixie rather than bookworm:
orjson publishes cp315 Linux wheels only for glibc 2.39+, and bookworm
ships glibc 2.36, so uv falls back to the sdist, which needs a Rust
toolchain the slim image lacks. Trixie ships glibc 2.41.

Sonar's python.version also gains 3.14, which it was missing.

jira: trivial
risk: low
Python 3.10 reached end of life in October 2026. requires-python moves
to >=3.11 in every package; the 3.10 classifier, tox env, CI matrix
entry and Docker target go away, and the docs list py311-py315. As
with the Python 3.8 (1.25.0) and 3.9 (1.54.0) drops, this ships in a
minor release: pip and uv on 3.10 keep resolving to the last release
that supports it. The release notes must call the drop out.

ruff targets py311, so the safe UP017 fix (datetime.UTC instead of
timezone.utc) and the stdlib import ordering it implies are applied.
UP042 ((str, Enum) -> StrEnum) stays ignored because it changes the
str() and format() output of public enums, which is breaking.

The lock no longer carries Python 3.10-only resolutions (pandas 2.3.3,
pyarrow 25, jiter 0.18, numpy 2.2). With pandas 2 gone from the lock,
CI no longer tests gooddata-pandas against pandas 2.

jira: trivial
risk: low
feat(repo): support Python 3.15, allow pandas 3, drop Python 3.10
@yenkins-admin
yenkins-admin merged commit ab6723f into rel/dev Nov 13, 2026
1 check passed
@coderabbitai

coderabbitai Bot commented Nov 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c9dafed7-13ec-46ee-9e7c-49866ac908ab

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@yenkins-admin
yenkins-admin deleted the snapshot-master-8c525d1a-to-rel/dev branch November 13, 2026 09:24
@codecov

codecov Bot commented Nov 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.55%. Comparing base (eaef2e1) to head (8c525d1).
⚠️ Report is 655 commits behind head on rel/dev.

Additional details and impacted files
@@           Coverage Diff            @@
##           rel/dev    #1953   +/-   ##
========================================
  Coverage    86.55%   86.55%           
========================================
  Files          349      349           
  Lines        27012    27015    +3     
========================================
+ Hits         23380    23383    +3     
  Misses        3632     3632           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants